package io;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;

/**
 *  转换流:InputStreamRead和OutputStreamWriter
 *  他们继承自Reader和Writer
 *  转换流时非常常用的字符流实现类,但实际开发中我们不会直接操作者两个流
 *  但是他们在流连接中非常重要的一环
 *
 *  在流连接中的意义:
 *      由于其他字符流在流连接中要求只能连接在其他字符流上,而不能直接连接在字节流上
 *           原因: 字符流是以字符为单位读写,而字节流是以字节为单位读写
 *                读写单位不同,因此不能直接串联在一起工作
 */
public class OSWDemo {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("osw.txt");
        //创建转换流时通常指定第2个参数来明确字符集,以此来保证跨平台性
        OutputStreamWriter osw = new OutputStreamWriter(fos, StandardCharsets.UTF_8);
        osw.write("和我在成都的街头走一走,噢噢噢噢~");
        osw.write("直到所有的灯都熄灭了也不停留");
        System.out.println("写出完成");
        osw.close();//关闭高级流时会自动关闭低级流












    }
}
